package com.ruoyi.trans.domain.req;


import com.ruoyi.trans.domain.dto.OrderConsumer;
import com.ruoyi.trans.domain.dto.OrderPromise;

/**
 * 订单全量信息请求模型
 */
public class OrderFullInfoReq {

    /**
     * 订单id 长度小于50，大于6
     */
    private String orderId;

    /**
     * 商户的统一社会信用代码， 小于200
     */
    private String merchantId;

    /**
     * 商户公司名字 最大长度64
     */
    private String merchantName;

    /**
     * 枚举定义如下：
     * CHARGING_BY_ORDER : 整单结算
     * CHARGING_BY_TERM : 分期结算
     * CHARGING_BY_TERM_INDIRECT : 间联模式使用，分期结算
     */
    private String bizScene;

    /**
     * 枚举定义如下
     * LEASE ： 租赁 （默认）
     * INSTALLMENT: 分期付款
     */
    private String bizType;

    /**
     * 签署模式
     * NONE : 灵活签约
     * 特殊条件下的融资单支持该字段的写入，其他情况下进件将会报错
     */
    private String signMode;

    /**
     * 是否开启合并签约（详情见合同代扣合并签署流程）
     * true: 开启
     * false：不开启（默认为false）
     */
    private Boolean combineFlag;

    /**
     * 订单的用户信息
     */
    private OrderConsumer userInfo;

    /**
     * 主订单信息
     */
    private OrderInfoReq orderInfo;

    /**
     * 订单包含的商品信息列表
     */
    private OrderProductReq productInfo;

    /**
     * 订单还款计划
     */
    private OrderPromise promiseInfo;

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    public String getBizScene() {
        return bizScene;
    }

    public void setBizScene(String bizScene) {
        this.bizScene = bizScene;
    }

    public String getBizType() {
        return bizType;
    }

    public void setBizType(String bizType) {
        this.bizType = bizType;
    }

    public String getSignMode() {
        return signMode;
    }

    public void setSignMode(String signMode) {
        this.signMode = signMode;
    }

    public Boolean getCombineFlag() {
        return combineFlag;
    }

    public void setCombineFlag(Boolean combineFlag) {
        this.combineFlag = combineFlag;
    }

    public OrderConsumer getUserInfo() {
        return userInfo;
    }

    public void setUserInfo(OrderConsumer userInfo) {
        this.userInfo = userInfo;
    }

    public OrderInfoReq getOrderInfo() {
        return orderInfo;
    }

    public void setOrderInfo(OrderInfoReq orderInfo) {
        this.orderInfo = orderInfo;
    }

    public OrderProductReq getProductInfo() {
        return productInfo;
    }

    public void setProductInfo(OrderProductReq productInfo) {
        this.productInfo = productInfo;
    }

    public OrderPromise getPromiseInfo() {
        return promiseInfo;
    }

    public void setPromiseInfo(OrderPromise promiseInfo) {
        this.promiseInfo = promiseInfo;
    }
}

